home *** CD-ROM | disk | FTP | other *** search
- import java.io.DataInputStream;
-
- class CByteArray {
- private byte[] m_byArray;
- private int m_nNoElements;
-
- void SetSize(int var1) {
- this.m_byArray = new byte[var1];
- this.m_nNoElements = var1;
- }
-
- byte GetAt(int var1) {
- byte var2;
- try {
- var2 = this.m_byArray[var1];
- } catch (ArrayIndexOutOfBoundsException var3) {
- var2 = -1;
- }
-
- return var2;
- }
-
- boolean InsertAt(int var1, byte var2) {
- boolean var3 = false;
- if (var1 >= 0) {
- if (var1 > this.m_nNoElements - 1) {
- var3 = this.SetAtGrow(var1, var2);
- } else {
- byte[] var4 = new byte[this.m_nNoElements];
- System.arraycopy(this.m_byArray, 0, var4, 0, this.m_nNoElements);
- this.m_byArray = new byte[this.m_nNoElements + 1];
- if (this.SetAt(var1, var2)) {
- System.arraycopy(var4, 0, this.m_byArray, 0, var1);
- System.arraycopy(var4, var1, this.m_byArray, var1 + 1, this.m_nNoElements - var1);
- ++this.m_nNoElements;
- var3 = true;
- }
- }
- }
-
- return var3;
- }
-
- boolean Add(byte var1) {
- return this.SetAtGrow(this.m_nNoElements, var1);
- }
-
- boolean RemoveAt(int var1) {
- boolean var2 = false;
- if (var1 >= 0 && var1 < this.m_nNoElements) {
- byte[] var3 = new byte[this.m_nNoElements];
- System.arraycopy(this.m_byArray, 0, var3, 0, this.m_nNoElements);
- this.m_byArray = new byte[this.m_nNoElements - 1];
- System.arraycopy(var3, 0, this.m_byArray, 0, var1);
- System.arraycopy(var3, var1 + 1, this.m_byArray, var1, this.m_nNoElements - (var1 + 1));
- this.m_nNoElements += -1;
- var2 = true;
- }
-
- return var2;
- }
-
- boolean Copy(CByteArray var1) {
- boolean var2 = false;
- this.SetSize(var1.GetSize());
-
- for(int var3 = 0; var3 < this.m_nNoElements; ++var3) {
- if (!this.SetAt(var3, var1.GetAt(var3))) {
- var2 = false;
- break;
- }
-
- var2 = true;
- }
-
- return var2;
- }
-
- int GetSize() {
- return this.m_nNoElements;
- }
-
- boolean SetAtGrow(int var1, byte var2) {
- boolean var3 = false;
- if (var1 >= 0) {
- while(!var3) {
- if (var1 < this.m_nNoElements) {
- this.m_byArray[var1] = var2;
- var3 = true;
- } else {
- byte[] var4 = new byte[var1 + 1];
- System.arraycopy(this.m_byArray, 0, var4, 0, this.m_nNoElements);
- this.m_byArray = new byte[var1 + 1];
- System.arraycopy(var4, 0, this.m_byArray, 0, this.m_nNoElements);
- this.m_nNoElements = var1 + 1;
- var3 = false;
- }
- }
- }
-
- return var3;
- }
-
- int GetUpperBound() {
- return this.m_nNoElements - 1;
- }
-
- void RemoveAll() {
- this.SetSize(0);
- }
-
- CByteArray() {
- this.m_byArray = new byte[0];
- this.m_nNoElements = 0;
- }
-
- CByteArray(int var1) {
- this.SetSize(var1);
- }
-
- boolean SetAt(int var1, byte var2) {
- boolean var3 = false;
-
- try {
- this.m_byArray[var1] = var2;
- var3 = true;
- } catch (ArrayIndexOutOfBoundsException var4) {
- var3 = false;
- }
-
- return var3;
- }
-
- boolean LoadFromFile(DataInputStream var1) {
- this.SetSize(FileLoad.ReadCount(var1));
-
- for(int var2 = 0; var2 < this.GetSize(); ++var2) {
- this.SetAt(var2, (byte)FileLoad.ReadCPlusByte(var1));
- }
-
- return true;
- }
- }
-